"""  
    需求：提交两个整形数据，并处理响应结果
    流程：
        前提：main函数中需要判断提交的参数是否正确。
        1.导包；
        2.初始化ROS2客户端；
        3.自定义节点类；
            3-1.创建客户端；
            3-2.等待服务连接；
            3-3.组织请求数据并发送；            
        4.调用spain函数，并传入节点对象；
            需要调用连接服务的函数，根据连接结果做下一步处理；
            连接服务后
            再处理响应结果
        5.资源释放。


"""
import rclpy
from rclpy.node import Node

class CountUpNode(Node):
    def __init__(self):
        super().__init__('count_up_node')
        self.count = 0
        self.timer = self.create_timer(1.0, self.timer_callback)  # 每1秒调用一次timer_callback
        self.get_logger().info(f"Started counting up from {self.count}")

    def timer_callback(self):
        # 打印当前数字并增加
        self.get_logger().info(f"Current count: {self.count}")
        self.count += 1
        # 如果count达到了30，停止计时器
        if self.count > 30:
            self.timer.cancel()
            self.get_logger().info("Counting finished.")

def main(args=None):
    rclpy.init(args=args)
    node = CountUpNode()
    rclpy.spin(node)  # 让节点一直运行
    rclpy.shutdown()

if __name__ == '__main__':
    main()
